import { defineStore } from 'pinia'
import { reactive } from 'vue'

const useUser = defineStore('user', () => {
    const defaultUser = {
        isLogin: false,
        username: '',
        avatar: ''
    }
    const user = reactive(Object.assign({}, defaultUser))
    const updateUser = options => { 
        Object.assign(user, options)
        return user
    }
    const removeUser = () => {
        Object.assign(user, defaultUser) 
        return user
    }
    return { user, updateUser, removeUser }
},
{
    persist: {
        enabled: true, strategies: [{
            key: 'user',
            storage: localStorage
        }]
    }
})
export default useUser